【glossary】損失関数(Loss function)
損失関数(Loss function)とはモデルの出力が期待する結果からどれだけ離れているかを測定する関数のことです。
GPT (Generative Pretrained Transformer) におけるモデルの学習目標は、特定の文脈において次に来る単語を予測することです。大量のテキストデータから文脈とそれに続く単語のパターンを学習することにより実現しています。損失関数はこの学習で利用される重要な関数です。
次ぐく単語を予測するためにGPTは損失関数である交差エントロピー損失関数を使用します。この関数は予測した単語の確率と実際の単語の確率の違いを計測するための損失関数です。
たとえば、「鎌倉幕府ができたは」というフレーズに対して「1193年」と予測したとします。しかし、実際の文章は「1192年」だったとします。この場合予測は間違っていたため、損失関数はある値を返します。その値は予測と実際の単語との間の違いです。
上記の違いは実際の単語の「1192年」の確率の対数と、モデルがその単語を予測するために割り当てた確率の対数との間の差を計算することで得られます。この差が大きければ大きいほど損失は大きくなります。逆にこの差が小さい(すなわちモデルが正確な予測をしている)場合損失は小さくなります。
学習のプロセスはこの損失を最小化するようにモデルのパラメータを更新していくことで進行します。これは主に勾配降下法という手法を使用して行われます。つまりGPTはこの関数を利用して損失を減らす方向にモデルのパラメータを調整して時間とともにより正確な単語の予測ができるように学習を進めていきます。